package com.example.joblinker.controller;

import com.example.joblinker.common.Result;
import com.example.joblinker.service.JobService;
import com.example.joblinker.util.JwtUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

/**
 * 管理员控制器
 */
@RestController
@RequestMapping("/admin")
public class AdminController {

    @Resource
    private JobService jobService;
    
    @Resource
    private JwtUtil jwtUtil;
    
    /**
     * 同步所有职位的公司信息
     * 用于修复历史数据中可能缺失或不匹配的公司名称和Logo
     */
    @PostMapping("/sync-job-company-info")
    public Result<Void> syncJobCompanyInfo(HttpServletRequest request) {
        // 验证管理员权限
        Long userId = jwtUtil.getUserIdFromRequest(request);
        Integer userRole = jwtUtil.getUserRoleFromRequest(request);
        
        // 只有管理员才能执行此操作（假设角色2为管理员）
        if (userRole == null || userRole != 2) {
            return Result.error("无权限执行此操作");
        }
        
        // 执行同步
        jobService.syncJobCompanyInfo();
        
        return Result.success();
    }
} 